

// #include  "iotv30_config.h"


#ifndef __IOTV30_CONFIG_H__
#define __IOTV30_CONFIG_H__

#include "app_types.h"


// 康体佳F133 车工系统 ssh -p 36922 root@192.168.0.108  port : 36922 密码 ： kt@j2199.kl 
 


// #define    LINUX_PC_ENABLE                (0x00u) 
// #define    LINUX_EMBED_ENABLE             (0x01u) //embed

#define    IOTV30_thread_enable      (0u)   //是否启用线程


////-----debug code -----20190409-----
#define    DEBUG_STAGE_ENABLE         (0x00u)   // 0 --disable   1---enable   
#define    RELEASE_VER_ENABLE         (0x01u)    //发行版本---去掉一些打印信息

	
#define    PRODUCT_ENABLE             (0x00u)    // product  生产版本  

#define    TESTING_ENABLE             (0x00u)    //测试功能使能----正式发布时需要禁止该功能  

#define    TESTING_ON_PCENABLE         (0x00u)  //在PC环境下测试---需要如下更改--
                                                // (1) ../Makeheader.mk 文件中编译器的选择配置 CC	= gcc or CC  = riscv64-unknown-linux-gnu-gcc                                 
                                      


//----------选择PLC节点类型---------------------
#define    NODE_PLC_LAMP_V1p2_ENABLE           (0x00u) // 3921-路灯V1.2
#define    NODE_PLC_LAMP_V1p7_ENABLE           (0x01u) // 3921-路灯V1.7
#define    NODE_PLC_BREAKER_ENABLE             (0x00u) //	3921-PLC断路器
#define    NODE_PLC_BREAKER_To485_ENABLE       (0x00u) // 3921-PLC转485断路器


////宁波项目功能需求使能 -----VPN---功能 
#define    USER_FUNC_NINGBO_ENABLE           (0x00u)    


//-------RS485总线的功能---只能是下面其中一种配置-----------------


//---------RS485电表配置----start------------------------

//---------RS485电表协议配置----------------------------
#define    METER_PROTOCOL_MODBUS_ENABLE     (0x00u)  
#define    METER_PROTOCOL_DLT645_ENABLE     (0x01u) 

//---------RS485电表厂家配置----------------------------
#define    METER_ZHU_HAI_PAI_NUO_ENABLE     (0x01u)     //是否是用珠海派诺电表   
#define    CURRENT_TRANSFORMER_ENABLE       (0x00u)     //是否是modbus带交流互感器----(current transformer   PM39S_ENABLE


//---------RS485电表配置-----end-----------------------


//---------其它RS485设备配置-----start-----------------------

#define    RS485_RADAR_ENABLE               (0x00u)  
#define    RS485_WEATHER_ENABLE             (0x00u)  
#define    RS485_TRANSPARENT_ENABLE         (0x00u)  //Transparent   485透传协议

#define    RS485_BRAKER_ENABLE              (0x00u)  //断路器设备，只要外接是断路器设备，首先需要使能该宏定义

#define    RS485_BRAKER_TM_ENABLE           (0x00u)  //腾明断路器
#define    RS485_BRAKER_NB2LE_ENABLE        (0x00u)  //正泰断路器--NB2LE_40ZT型智能断路器
#define    RS485_BRAKER_ACREL_ENABLE        (0x00u)  //安科瑞断路器Acrel

//---------其它RS485设备配置-----end-----------------------





#define    TESTING_ENABLE             (0x00u)    //测试功能使能----正式发布时需要禁止该功能  



//选择打印端口
#define    PRINT_RETARGET_ENABLE      (0x01u)    //Retargets(重定向) the C library printf 
#define    DEBUG_PRINT_RS485_ENABLE   (0x0u)    //选择TTL串口还是RS485--0:TTL串口;非0:RS485;
#define    DEBUG_PRINT_SHARE_ENABLE   (0x00u)   //是否保留打印串口的共享功能

//-----------配置打印功能---包括初始化打印串口---如果有打印消息以下必须二选一 ----------------------------
#define    DEBUG_PRINT_ENABLE         (0x01u)    //调试信息打印----所有调试打印信息必须首先要使能这个宏定义
#define    STD_OUT_PRINT_ENABLE       (0x01u)    //打印到标准输出
#define    LOG_UART_PRINT_ENABLE      (0x00u)    //调试信息打印到串口


#define    DEBUG_MIN_PRINT_ENABLE     (0x01u)    //最小调试信息打印


//-----------DEBUG_PRINT_ENABLE 需要为1，下面的使能才有效----------------------------------
#define    ETH_PRINT_ENABLE                (0x00u)     //以太网打印消息使能
#define    GPRS_PRINT_ENABLE               (0x00u)     //4G打印消息使能
#define    PLC_PRINT_ENABLE                (0x00u)     //PLC打印消息使能
#define    PLC_MIN_PRINT_ENABLE            (0x00u)     //PLC最小打印消息使能



#define    TIME_TASK_PRINT_ENABLE          (0x00u)     //定时任务打印消息使能

#define    MODBUS_ALL_PRINT_ENABLE         (0x00u)     //modbus协议打印消息使能
#define    DLT645_ALL_PRINT_ENABLE         (0x00u)     //DLT645协议打印消息使能
#define    BREAKER_ALL_PRINT_ENABLE        (0x00u)     //断路器全部信息打印使能
#define    BREAKER_L0_PRINT_ENABLE         (0x00u)     //断路器最小信息打印使能

#define    RS485_PRINT_ENABLE              (0x00u)     //RS485打印消息使能
#define    METER_PRINT_ENABLE              (0x00u)     //DLT645协议打印消息使能


//-----------配置打印功能----------------------------------



////上电默认继电器是闭合 ---根据江门雷达气象站项目需求，改为上电继电器默认闭合状态 
#define   RELAY_ON_ENABLE           (0x00u)    //是否上电默认继电器闭合


#define   SMART_ENABLE             (0x01u)    //smart
#define   UPDATE_SMART_ENABLE      (0x01u)    //smart
#define   SMART_ALL_ENABLE         (0x01u)    //smart---完全可以删除，不受影响

#define   QUEUE_LIST_ENABLE        (0x00u)  //是否使用链表及队列



#define    MCU_PLATFORM_OF_F133_ENABLE           (0x01u)  




//-------上行协议配置--即服务器配置-------------------

#define    MAIN_SERVER_IP_ENABLE             (0x00u)     //正式服务器


#define    STREET_LAMP_SERVER_ENABLE         (0x01u)     //集中器接路灯服务器-------------- //旧的路灯协议---V5.3 ~V5.5
#define    STREET_LAMP_SERVER_IOTV30_ENABLE  (0x01u)     //集中器接路灯服务器iotv3.0协议-----IoTv3.0---protobuf协议 


//下行节点的类型
#define    NODE_TYPE_POWER         (0x01u)     //下行节点是电源节点
#define    NODE_TYPE_SAFETY        (0x00u)     //下行节点是安全用电节点




//-------硬件配置-以下2选1------------------
#define    BSP_LAMP_ENABLE           (0x00u)  //集中器是路灯硬件
#define    BSP_SAFETY_ENABLE         (0x01u)  //集中器是安全用电硬件


#define    USER_FUNC_A_ENABLE    (0x01u)   // 客户需求功能A 使能   --





#if  STREET_LAMP_SERVER_IOTV30_ENABLE   //// //集中器接路灯服务器iotv3.0协议-----IoTv3.0---protobuf协议 
//新的路灯协议---IoTv3.0---protobuf协议  /////110.41.4.96:10096  ----服务器ip---命令行输入 ./cct_app 110.41.4.96 10096
#define    defualt_ip_str_ktj      "110.41.4.96"
//#define    defualt_ip_str_ktj      "192.168.0.104"
#define    defualt_port_str_ktj    "10096"  

#else
  //旧的路灯协议---V5.3 ~V5.5
#define    defualt_ip_str_ktj      "139.9.31.177"
#define    defualt_port_str_ktj    "10086"  

#endif


#define    gw_ktj_local_json_server_ip_str     "127.0.0.1"
#define    gw_ktj_local_json_server_port_str    "13336"  





#include <semaphore.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>


#define    IOT_SENSOR_liquid_log_enable       (0x00u)  
#define    IOT_SENSOR_ac_meter_log_enable     (0x00u)  
#define    IOT_SENSOR_dc_meter_log_enable     (0x00u)  
#define    IOT_SENSOR_air_cond_log_enable     (0x00u)  
#define    IOT_SENSOR_battery_log_enable      (0x00u)  
#define    IOT_SENSOR_dido_log_enable         (0x00u)  
#define    IOT_SENSOR_smoke_log_enable        (0x00u)  
#define    IOT_SENSOR_temp_humi_log_enable    (0x00u)  
#define    IOT_SENSOR_dev_water_log_enable    (0x00u)  
#define    IOT_SENSOR_generator_log_enable    (0x01u)  



#if    DEBUG_PRINT_ENABLE          

#include  "uart_printf.h"

#define  logout      printf

#else

#define  logout   

#endif





#endif   //  __IOTV30_CONFIG_H__



















